【X68000(Z)アセンブラ講座 第035回 スプライトダブラー(試作品版)-解説編】   「こんにちは!!」 前回は解説無しのサンプルプログラムだけの掲載だったのに 今回の解説編が遅くなってすみません。 僕のスプライトダブラーの実現にはラスター割り込みの知識が必要なので 関連してアナログモニターの動作の仕組みの知識も必要になります。 今回の解説で解りやすいモニターの例はSHARP純正X680x0用モニターなので 実機や純正モニターを持っていなくても解るように書く努力をします。 【X680x0のアナログモニターの表示の仕組み】 X680x0のモニターの高解像度モード(31.5kHzモード)では 横方向に1ライン分の画素データを 画面の上から下に568ライン並べて1コマの映像を描く能力があるが この568ラインのうち任意の横1ラインの映像の事をラスターと呼ぶ事が多い。 X680x0では568ラインのうち512ラインに画素データを送っている。 【ラスター割り込み】 表示されるラスターが次のラスターに切り替わる度にラスター割り込みが発生します。 別名「H-Sync割り込み」です。 モニターは1/60秒内で568ラインのラスターが更新されます。 つまりラスター割り込みはV-Sync割り込みより遥かに小さな処理時間しかありません。 その小さな処理単位時間の間にスプライトダブラーのプログラムを実行するので ゲームメインプログラムの処理時間はかなり削られます。 【スプライトダブラー試作版の実装】 ラベル「int_hsync:」がラスター割り込みです。 現在のラスター番号ras_numが48の場合に画面上半分のスプライト128枚を描画し、 ras_numが267の場合に画面下半分のスプライト128枚を描画します。 X68030以降のマシンで正常に描画されないのはCPUが速過ぎるからです。 次回以降のスプライトダブラーの講座の実践版では解決させます。 以上がスプライトダブラーの基本的な方法です。 次回は実践版の講座内容の予定です。 [EOF]